package com.xjrsoft.module.base.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xjrsoft.module.base.entity.XjrBaseModule;
import com.xjrsoft.module.base.entity.XjrBaseModuleButton;
import com.xjrsoft.module.base.entity.XjrBaseModuleColumn;
import com.xjrsoft.module.base.entity.XjrBaseModuleForm;
import com.xjrsoft.module.base.vo.ModuleVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author jobob
 * @since 2020-10-27
 */
public interface XjrBaseModuleMapper extends BaseMapper<XjrBaseModule> {

    List<String> getModuleIdsOfAuth(@Param("isAdminUser") boolean isAdminUser, @Param("objectType") Integer objectType, @Param("objectId") String...objectId);

    List<XjrBaseModuleButton> getModuleBtnOfAuth(@Param("moduleIds") List<String> moduleIds,@Param("userId") String userId,@Param("roleIds") List<String> roleIds);

    List<XjrBaseModuleColumn> getModuleColOfAuth(@Param("moduleIds") List<String> moduleIds,@Param("userId") String userId,@Param("roleIds") List<String> roleIds);

    List<XjrBaseModuleForm> getModuleFormOfAuth(@Param("moduleIds") List<String> moduleIds,@Param("userId") String userId,@Param("roleIds") List<String> roleIds);

    List<XjrBaseModule> getModuleOfAuth(@Param("userId") String userId,@Param("roleIds") List<String> roleIds);

    List<ModuleVo> getTransModuleList(@Param("enabledSubSystem") boolean enabledSubSystem);
}
